An increasing number of devices include digital memories. For example, smart phones, cell phones, set top boxes, Global Positioning System (GPS) receivers, point of sale systems and computers use digital memories. These devices can store various personal data or other sensitive information. As a result, there is a growing need to protect the information stored in these devices.
One attempt to address security concerns related to the digital memories and/or the devices that include the digital memories is to encrypt the digital memory. Some conventional encryption methods impose data size restrictions or order restrictions. For example, some encryption methods limit memory accesses to a fixed size (e.g., all memory accesses are 128 bit) or require that data be processed in the same order (e.g., data chaining). Other conventional encryption methods can incur large processing overhead which can lower the bandwidth of the memory accesses. One drawback to encrypting digital memory using the conventional techniques is that memory accesses can be random. For example, the order in which memory is accessed can be random and the size of memory being accessed (e.g., byte, word, etc.) can be random.